//
//  function.h
//  通讯录的实现2.0
//
//  Created by 卜绎皓 on 2022/4/23.
//

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

#define _CRT_SECURE_NO_WARNINGS
#define MIN_NAME 15                                //设置姓名数组中字符的个数
#define MIN_SEX 5                                //设置性别数组中字符的个数
#define MIN_NUMBER 20                            //设置号码数组中字符的个数
#define MIN_ADDRESS 18                            //设置地址数组中字符的个数
#define FRINUM 3                                //设置通讯录默认起始数据

 
typedef struct message
{
    char name[MIN_NAME];
    char sex[MIN_SEX];
    int age;
    char number[MIN_NUMBER];
    char address[MIN_ADDRESS];
}message;
typedef struct data
{
    message* data;                                //用来保存通讯录存放的数据
    int sz;                                        //用来记录通讯录中有效数据的个数
    int capcity;                                //用来记录通讯录默认数据个数
}content;
 
void Initcontact(content* ab);                    //初始化通讯录函数声明
void addcontact(content* ab);                    //增加联系人信息函数声明
void delcontact(content* ab);                    //删除联系人信息函数声明
void seekcontact(content* ab);                    //寻找联系人信息函数声明
void modcontact(content* ab);                    //修改联系人信息函数声明
void emptycontact(content* ab);                    //清空联系人信息函数声明
void showcontact(content* ab);                    //展示联系人信息函数声明
void sortcontact(content* ab);                    //排序联系人信息函数声明
void DestoryContact(content** ppc);                 //保存通讯录信息到文件
void SaveContact(content* pc);                      //加载文件中的信息到通讯录

